package cn.com.zero.manager.auth.mapper;

import cn.com.zero.manager.auth.po.ManagerPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * @author guoxin
 * @version 1.0.0
 * @Description
 * @date 2023/3/3 9:38
 */
@Mapper
@Repository
public interface IPersonalMapper {

    /**
     * 修改个人信息
     *
     * @param userid        登录名
     * @param userName      名称
     * @param mobile        手机号
     * @param showMobile    展示的手机号码
     * @return
     */
    void updateInfo(@Param("userid") String userid,
                    @Param("userName") String userName,
                    @Param("mobile") String mobile,
                    @Param("showMobile") String showMobile);

    /**
     * 查询管理员详情
     *
     * @param userID    用户名
     * @return
     */
    ManagerPO queryAdmin(String userID);

    /**
     * 查询管理员详情 by 用户名称
     *
     * @param userName  用户名称
     * @param userID    用户id
     * @return
     */
    ManagerPO queryAdminByName(@Param("userName") String userName,
                               @Param("userID") String userID);

    /**
     * 查询管理员详情 by 电话号码
     *
     * @param mobile  电话号码
     * @param userID  用户id
     * @return
     */
    ManagerPO queryAdminByMobile(@Param("mobile") String mobile,
                                 @Param("userID") String userID);

    /**
     * 修改密码
     *
     * @param userID        用户名
     * @param newPassword   新密码
     */
    void updatePassword(@Param("userID") String userID,
                        @Param("newPassword") String newPassword);
}
